package com.sky.vo;
/**
 * 1.当前模块名：sky-pojo
 *   模块作用：存放视图对象(Value Object)，用于Controller层返回给前端的结构化数据
 * 2.当前包名：com.sky.vo
 *   包作用：封装Controller层返回的视图数据模型（Value Object）
 * 3.当前类名：OrderVO
 *   类作用：订单详情视图对象，扩展订单基础信息并聚合订单明细
 */
import com.sky.entity.OrderDetail;
import com.sky.entity.Orders;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;

/**
 * 知识点说明：
 * 1. 继承复用设计：继承Orders实体类复用基础字段（减少重复定义）
 * 2. 数据聚合策略：整合订单主表信息+明细数据（减少前端请求次数）
 * 3. 冗余字段设计：orderDishes字段提供菜品摘要信息（列表页快速展示）
 * 4. 明细数据封装：orderDetailList提供完整菜品明细（详情页展示）
 * 5. 序列化兼容：实现Serializable接口支持缓存和网络传输
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class OrderVO extends Orders implements Serializable {

    //订单菜品信息
    private String orderDishes;

    //订单详情
    private List<OrderDetail> orderDetailList;

}
